package 疯狂Java讲义.第5章_面向对象_上.多态.第5_7.引用变量的强制类型转换;

public class ConversionTest{
    public static void main(String[] args){
        var d = 13.4;
        var l = (long)d;
        System.out.println(l);
        var in = 5;
        Object obj = "Hello";
        var objStr = (String)obj;
        System.out.println(objStr);

        Object objPri = Integer.valueOf(5);
        // objPri变量的编译时类型为Object，obPri的运行时类型为Integer
        // Object与Integer存在继承关系，所以可以强制类型转换，而objPri变量的实际类型是Integer

        // 下面的代码会引发ClassCastException。
        // 因为objPri变量编译时类型是Object，运行时变量是Integer，不是String，两者没有继承关系
        var str = (String)objPri;
    }
}